home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / scsh / ultrix / fdflags.scm < prev    next >
Text File  |  1995-10-13  |  1KB  |  45 lines

  1. ;;; Flags for open(2) and fcntl(2).
  2. ;;; Copyright (c) 1993 by Olin Shivers.
  3. ;;; Copyright (c) 1994 by Brian D. Carlstrom.
  4.  
  5. (define-syntax define-open-flags
  6.   (syntax-rules ()
  7.     ((define-errnos form ...)
  8.      (begin (define-enum-constant "open" . form) ...))))
  9.  
  10. (define-open-flags
  11.   (read            #o000)
  12.   (write        #o001)
  13.   (read+write        #o002)
  14.   (append        #o00010)
  15.   (create        #o01000)
  16.   (exclusive        #o04000)
  17.   (no-control-tty    #o20000000)
  18.   (nonblocking        #o4000000)
  19.   (truncate        #o2000)
  20. ;;; Not POSIX.
  21.   (no-delay        #o0004)
  22.   (sync            #o100000)
  23. ;  (blkinuse         #o10000)
  24. ;  (blkandset        (bitwise-ior #o10000 #o20000)) 
  25.   (termio        #o10000000)
  26.   )
  27.  
  28. (define open/access-mask
  29.   (bitwise-ior open/read
  30.            (bitwise-ior open/write open/read+write)))
  31.  
  32. (define fcntl/close-on-exec         1)
  33. (define    fcntl/dupfd             0)
  34. (define    fcntl/get-fd-flags         1)
  35. (define    fcntl/set-fd-flags         2)
  36. (define    fcntl/get-file-flags         3)
  37. (define    fcntl/set-file-flags         4)
  38. (define    fcntl/get-record-lock         7)    ; F_GETLK
  39. (define    fcntl/set-record-lock-noblock    8)    ; F_SETLK
  40. (define    fcntl/set-record-lock         9)    ; F_SETLKW
  41.  
  42. (define    lock/read     1)    ; F_RDLCK
  43. (define    lock/write     2)    ; F_WRLCK
  44. (define    lock/release     3)    ; F_UNLCK
  45.